#ifndef FL_NTCTPG_H
#define FL_NTCTPG_H

#include "Flag.h"
#include <string>
#include "filebased.h"

#include <QtGui> // SERIALIZZAZIONE

using namespace std;

class fl_NtcTpg :
        virtual public Flag,
        virtual public FileBased
{
public:
    fl_NtcTpg ( void );
    fl_NtcTpg ( const fl_NtcTpg& fl );
    fl_NtcTpg ( const int& tpg );
    fl_NtcTpg& operator = ( const fl_NtcTpg& fl );

      void	           setFlag ( const int& s );
      bool	           setFlag ( const string& str );
    string          getFlagStr ( void ) const;
    string  getFlagDescription ( ExaTextFormat format = EXA_TEXT_FORMAT_HTML ) const;

    // Overridding for [FileBased]
    virtual ExaFileErr fileSave (const string& file_name) const;
    virtual ExaFileErr fileOpen (const string& file_name);
    virtual ExaFileObj  fileObj ( void ) const;

    enum	Tpg {NONE = 0, T1 = 1, T2 = 2, T3 = 3, T4 = 4};

private:
    static ExaFileObj m_file_obj;
};

Q_DECLARE_METATYPE(fl_NtcTpg) // SERIALIZZAZIONE

#endif // FL_NTCTPG_H
